//
//  ViewController.m
//  SaveData
//
//  Created by student on 16/3/14.
//  Copyright © 2016年 NIIT. All rights reserved.
//

#import "ViewController.h"
#import "StudentModel.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *idTextField;
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;
@property (weak, nonatomic) IBOutlet UITextField *ageTextField;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    // 方式1
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSLog(@"%@",paths);}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
#pragma mark - NSUserDefault方式
#define kStuId @"StuId"
#define kStuName @"StuName"
#define kStuAge @"StuAge"

- (IBAction)save1:(id)sender
{
    NSUserDefaults *d = [NSUserDefaults standardUserDefaults];
    [d setObject:self.idTextField.text forKey:kStuId];
    [d setObject:self.nameTextField.text forKey:kStuName];
    [d setObject:self.ageTextField.text forKey:kStuAge];
    [d synchronize];// 同步(存盘)
}
- (IBAction)read1:(id)sender
{
    NSUserDefaults *d = [NSUserDefaults standardUserDefaults];
    //读取时使用一致的key
    self.idTextField.text = [d objectForKey:kStuId];
    self.nameTextField.text = [d objectForKey:kStuName];
    self.ageTextField.text = [d objectForKey:kStuAge];
    
}

- (IBAction)save2:(id)sender
{
    NSDictionary *dict = @{@"stuId":self.idTextField.text,
                           @"stuName":self.nameTextField.text,
                           @"stuAge":self.ageTextField.text};
    
    // stringByAppendingPathComponent 自动中间加个 /
    NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *filePath = [docPath stringByAppendingPathComponent:@"student.plist"];
    NSLog(@"存到:%@",filePath);
    
    [dict writeToFile:filePath atomically:YES];
}

- (IBAction)read2:(id)sender
{
    NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *filePath = [docPath stringByAppendingPathComponent:@"student.plist"];
    NSLog(@"读取:%@",filePath);
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:filePath];
    
    self.idTextField.text = dict[@"stuId"];
    self.nameTextField.text = dict[@"stuName"];
    self.ageTextField.text = dict[@"stuAge"];
}

- (IBAction)save3:(id)sender
{
    NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *filePath = [docPath stringByAppendingPathComponent:@"student.arch"];
    NSLog(@"存到:%@",filePath);
    
    StudentModel *m = [[StudentModel alloc] initWithId:self.idTextField.text
                                               andName:self.nameTextField.text
                                                andAge:self.ageTextField.text];
    
    NSMutableData *mData = [NSMutableData data];
    NSKeyedArchiver *arch = [[NSKeyedArchiver alloc] initForWritingWithMutableData:mData];
    [arch encodeObject:m forKey:@"Student"];
    [arch finishEncoding];
    
    [mData writeToFile:filePath atomically:YES];

}

- (IBAction)read3:(id)sender
{
    NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *filePath = [docPath stringByAppendingPathComponent:@"student.arch"];
    
    NSData *data = [NSData dataWithContentsOfFile:filePath];
    
    NSKeyedUnarchiver *unArch = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
    StudentModel *stu = [unArch decodeObjectForKey:@"Student"];
    [unArch finishDecoding];
    
    self.idTextField.text = stu.stuId;
    self.nameTextField.text = stu.stuName;
    self.ageTextField.text = stu.stuAge;

    
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    [self.view endEditing:YES];
}




@end
